package config

type Mysql struct {
	Path         string `mapstructure:"path" json:"path" yaml:"path"`                               // 服务器地址
	Port         string `mapstructure:"port" json:"port" yaml:"port"`                               //端口
	Config       string `mapstructure:"config" json:"config" yaml:"config"`                         //数据库配置
	Dbname       string `mapstructure:"db_name" json:"dbname" yaml:"db_name"`                       // 数据库名
	Username     string `mapstructure:"username" json:"username" yaml:"username"`                   // 数据库用户名
	Password     string `mapstructure:"password" json:"password" yaml:"password" `                  //密码
	MaxIdleConns int    `mapstructure:"max_idle_conns" json:"max_idle_conns" yaml:"max_idle_conns"` //空闲连接池中连接的最大数量
	MaxOpenConns int    `mapstructure:"max_open_conns" json:"max_open_conns" yaml:"max_open_conns"` //打开数据库连接的最大数量                             // 服务器地址
	MaxLifetime  int    `mapstructure:"max_lifetime" json:"max_lifetime" yaml:"max_lifetime"`       //连接可复用的最大时间
	LogMode      string `mapstructure:"log_mode" json:"log_mode" yaml:"log_mode"`                   // 是否开启Gorm全局日志
}

// mysql数据库连接
func (m *Mysql) Dsn() string {
	return m.Username + ":" + m.Password + "@tcp(" + m.Path + ":" + m.Port + ")/" + m.Dbname + "?" + m.Config
}
